package com.adcc.loadsheet.billing.service;

import com.adcc.loadsheet.billing.entity.chargerule.BillingRuleEntity;
import com.adcc.loadsheet.billing.entity.chargerule.BillingLadderEntity;
import com.adcc.loadsheet.billing.vo.chargerule.BillingRuleEntityVO;
import com.adcc.loadsheet.billing.vo.chargerule.BillingRuleTreeVO;

import java.util.List;
import java.util.Map;

/**
 * 计费规则表Service
 * Created by zhaoml on 2020/4/7.
 */
public interface BillingRuleService {

    //获取计费规则Tree（按照规则简称升序排列）
    List<BillingRuleTreeVO> getTreeNode();

    //查询计费规则，包括阶梯计数
    BillingRuleEntityVO findByBillingRuleId(Map<String, Object> paramMap);

    //查询计费规则，不包括阶梯计数
    BillingRuleEntity findByBillingRuleId(Integer billingRuleId);

    //编辑计费规则（包括阶梯计数）
    BillingRuleEntity edit(BillingRuleEntityVO billingRuleEntityVO);

    //根据规则简称查询对应实体
    BillingRuleEntity findByRuleAbbrev(String ruleAbbrev);

    //删除计费规则
    String deleteByBillingRuleId(Integer billingRuleId);
}